/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Toepen.SpelFacade;

import Toepen.LoungeFacade.FacadeGebruiker;
import java.rmi.Remote;
import java.rmi.RemoteException;

/**
 * Interface voor de remote communicatie met de spelfacade
 * @author Bart Piggen
 */
public interface ISpelFacade extends Remote {

    public void stopSpel() throws RemoteException;
    void addObserver(ISpelObserver observer, FacadeGebruiker gebruiker) throws RemoteException;
    void removeObserver(FacadeGebruiker gebruiker) throws RemoteException;

    void startSpel() throws RemoteException;
    ActieResult speelKaart(FacadeGebruiker gebruiker, FacadeKaart kaart) throws RemoteException;
    ActieResult kloppen(FacadeGebruiker gebruiker) throws RemoteException;
    ActieResult passen(FacadeGebruiker gebruiker) throws RemoteException;
    ActieResult meegaan(FacadeGebruiker gebruiker) throws RemoteException;
    ActieResult delen(FacadeGebruiker gebruiker) throws RemoteException;
    String getKlopperNaam() throws RemoteException;
}
